/***
 *                    _ooOoo_
 *                   o8888888o
 *                   88" . "88
 *                   (| -_- |)
 *                    O\ = /O
 *                ____/`---'\____
 *              .   ' \\| |// `.
 *               / \\||| : |||// \
 *             / _||||| -:- |||||- \
 *               | | \\\ - /// | |
 *             | \_| ''\---/'' | |
 *              \ .-\__ `-` ___/-. /
 *           ___`. .' /--.--\ `. . __
 *        ."" '< `.___\_<|>_/___.' >'"".
 *       | | : `- \`.;`\ _ /`;.`/ - ` : | |
 *         \ \ `-. \_ __\ /__ _/ .-` / /
 * ======`-.____`-.___\_____/___.-`____.-'======
 *                    `=---='
 *
 * .............................................
 *          佛祖保佑             永无BUG
 *@author wwh
 *@date 2022年07月02日10:38
 */
package com.qfedu.tantu.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qfedu.tantu.config.RedisKeyConfig;
import com.qfedu.tantu.dao.CollectDao;
import com.qfedu.tantu.dao.UserDao;
import com.qfedu.tantu.dto.CollectDto;
import com.qfedu.tantu.entity.Collect;
import com.qfedu.tantu.entity.User;
import com.qfedu.tantu.service.intf.CollectService;
import com.qfedu.tantu.util.JedisUtil;
import com.qfedu.tantu.vo.R;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * 收藏ServiceImpl
 * */
@Service
public class CollectServiceImpl implements CollectService {
    @Resource
    private CollectDao collectDao;
    @Resource
    private UserDao userDao;

    /**
     * 向收藏表中插入数据
     * @param token 用户id
     * @param aid 文章id
     * @return
     */
    @Override
    public R insertCollect(int aid,int token) {
        if (aid>0){
            if (collectDao.insertPass(token,aid)>0){
                return R.ok();
            }
        }
        return R.fail();
    }

    /**
     * 显示收藏表中关于此用户的所有收藏文章
     * @param uid 用户id
     * @return
     */
    @Override
    public R selectAll(int uid) {
        if (uid>0){
            return R.ok(collectDao.selectPass(uid));
        }
        return R.fail();
    }

    /**
     * 查询单篇文章
     * @param id
     * @return
     */
    @Override
    public R userCollect(int id) {
        if (id>0){
            return R.ok(collectDao.selectCollect(id));
        }
        return R.fail();
    }

    /**
     * 查询用户
     * @param uid
     * @return
     */
    @Override
    public R userOne(int uid) {
        if (uid>0){
            QueryWrapper<User> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("id",uid);
            User user = userDao.selectOne(queryWrapper);
            return R.ok(user);
        }
        return R.fail();
    }


}
